/**
 * 邮箱
 * @param {*} s
 */
export function isEmail(s) {
	return /^([a-zA-Z0-9._-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/.test(s)
}

/**
 * 手机号码
 * @param {*} s
 */
export function isMobile(s) {
	return /^1[0-9]{10}$/.test(s)
}

/**
 * 电话号码
 * @param {*} s
 */
export function isPhone(s) {
	return /^([0-9]{3,4}-)?[0-9]{7,8}$/.test(s)
}

/**
 * URL地址
 * @param {*} s
 */
export function isURL(s) {
	return /^http[s]?:\/\/.*/.test(s)
}

/**
 * 身份证号
 * @param {*} idcard
 */
export function isIdentityCard(idcard) {
	idcard = idcard || '';
	var Errors = new Array('验证通过!', '身份证号码位数不对!', '身份证号码出生日期超出范围或含有非法字符!', '身份证号码校验错误!', '身份证地区非法!');
	var area={
		11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",
		21:"辽宁",22:"吉林",23:"黑龙江",
		31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",
		41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",
		50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",
		61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",
		71:"台湾",81:"香港",82:"澳门",91:"国外"};
		
	var Y, JYM;
	var S, M;
	var ereg = /^$/;
	var idcard_array = new Array();
	idcard_array = idcard.split('');
	var errorIndex = 0;
	if (area[parseInt(idcard.substr(0, 2))] == null) errorIndex = 4;
	switch (idcard.length) {
		case 15:
			if ((parseInt(idcard.substr(6, 2)) + 1900) % 4 == 0 || ((parseInt(idcard.substr(6, 2)) + 1900) % 100 == 0 && (parseInt(idcard.substr(6, 2)) + 1900) % 4 == 0)) {
				ereg = /^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$/;
				//测试出生日期的合法性
			} else {
				ereg = /^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$/;
				//测试出生日期的合法性
			}
			if (ereg.test(idcard)) errorIndex = 0;
			else errorIndex = 2;
			break;
		case 18:
			if (parseInt(idcard.substr(6, 4)) % 4 == 0 || (parseInt(idcard.substr(6, 4)) % 100 == 0 && parseInt(idcard.substr(6, 4)) % 4 == 0)) {
				ereg = /^[1-9][0-9]{5}(19|20)[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$/; //闰年出生日期的合法性正则表达式
			} else {
				ereg = /^[1-9][0-9]{5}(19|20)[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$/; //平年出生日期的合法性正则表达式
			}
			if (ereg.test(idcard)) {
				S =
					(parseInt(idcard_array[0]) + parseInt(idcard_array[10])) * 7 +
					(parseInt(idcard_array[1]) + parseInt(idcard_array[11])) * 9 +
					(parseInt(idcard_array[2]) + parseInt(idcard_array[12])) * 10 +
					(parseInt(idcard_array[3]) + parseInt(idcard_array[13])) * 5 +
					(parseInt(idcard_array[4]) + parseInt(idcard_array[14])) * 8 +
					(parseInt(idcard_array[5]) + parseInt(idcard_array[15])) * 4 +
					(parseInt(idcard_array[6]) + parseInt(idcard_array[16])) * 2 +
					parseInt(idcard_array[7]) * 1 +
					parseInt(idcard_array[8]) * 6 +
					parseInt(idcard_array[9]) * 3;
				Y = S % 11;
				//M = 'F';
				JYM = '10X98765432';
				M = JYM.substr(Y, 1);
				if (idcard_array[17] == 'x') idcard_array[17] = 'X';
				if (M == idcard_array[17]) errorIndex = 0;
				else errorIndex = 3;
			} else errorIndex = 2;
			break;
		default:
			errorIndex = 1;
			break;
	}
	if(errorIndex == 0){
		console.log(Errors[0])
		return true;
	}
	else{
		console.error(Errors[errorIndex])
		return false;
	}
}
/**
 * 数字校验-999~999
 */
export function numberRule0(){
	return { pattern: /^\d{1,3}$/, message: '请输入0~999数字' }
}
/**
 * 数字校验-999~999，支持1位小数
 */
export function numberRule1(){
	return { pattern: /^\d{1,3}(\.\d{0,1})?$/, message: '请输入0~999数字,支持1位小数' }
}
/**
 * 数字校验-999~999，支持2位小数
 */
export function numberRule2(){
	return { pattern: /^\d{1,3}(\.\d{0,2})?$/, message: '请输入0~999数字,支持2位小数' }
}
